/**
 * Round badge.
 */
.badge-round {
    background-color: $toolbarBadgeBackground;
    border-radius: 50%;
    box-sizing: border-box;
    color: $toolbarBadgeColor;
    // Do not inherit the font-family from the toolbar button, because it's an
    // icon style.
    font-family: $baseFontFamily;
    font-size: 9px;
    font-weight: 700;
    line-height: 13px;
    min-width: 13px;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    vertical-align: middle;
}

.toolbar-container {
    display: block;
    left:0;
    min-height: 100px;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    right:0;
    text-align: center;
    top:0;
    z-index: $toolbarZ;
}

/**
 * Common toolbar styles.
 */
.toolbar {
    height: 100%;
    pointer-events: auto;
    position: relative;
    z-index: $toolbarZ;

    /**
     * Ensure nested elements that don't have a button class, maybe because they
     * are wrapped in a React Element, still display in a line.
     */
    > div {
        display: inline-block;
    }

    /**
     * Always on top overrides.
     */
    &.always-on-top {
        /**
         * Toolbar button styles for always on top.
         */
        .button {
            font-size: $alwaysOnTopToolbarFontSize;
            height: $alwaysOnTopToolbarSize;
            line-height: $alwaysOnTopToolbarSize;
            width: $alwaysOnTopToolbarSize;
            &_hangup, &_hangup:hover {
                font-size: $alwaysOnTopToolbarFontSize;
            }
        }
    }

    /**
     * Toolbar button styles.
     */
    .button {
        color: $toolbarButtonColor;
        cursor: pointer;
        z-index: $zindex1;
        display: inline-block;
        font-size: $toolbarFontSize;
        height: $defaultToolbarSize;
        line-height: $defaultToolbarSize;
        position: relative;
        text-align: center;
        top:0px;
        vertical-align: middle;
        width: $defaultToolbarSize;

        &[disabled] {
            opacity: 0.5;
        }

        &:hover, &:active {
            color: $toolbarButtonColor;
            cursor: pointer;
            text-decoration: none;
        }

        &_hangup, &_hangup:hover {
            color: $hangupColor;
            font-size: $hangupFontSize;
        }

        &:not(.toggled) {
            &:hover, &:active {
                // sum opacity with background layer should give us 0.8
                background: $toolbarSelectBackground;
            }
        }

        &.toggled {
            background: $toolbarToggleBackground;

            &.icon-camera {
                @extend .icon-camera-disabled;
            }

            &.icon-full-screen {
                @extend .icon-exit-full-screen;
            }

            &.icon-microphone {
                @extend .icon-mic-disabled;
            }
        }

        &.unclickable {
            cursor: default;

            &:hover, &:active, &.selected {
                background: none;
                cursor: default;
            }
        }
    }

    /**
     * Primary toolbar styles.
     */
    &_primary {
        background-color: $toolbarBackground;
        position: absolute;
        left: 50%;
        top: 30px;
        display: inline-block;
        width: auto;
        height: $defaultToolbarSize;
        border-radius: 3px;
        opacity: 0;

        &.always-on-top {
            height: $alwaysOnTopToolbarSize;
            top: 10px;
        }

        @include transform(translateX(-50%));

        > a:first-child.button,
        > div:first-child .button {
            border-bottom-left-radius: 3px;
            border-top-left-radius: 3px;
        }

        > a:last-child.button,
        > div:last-child .button {
            border-bottom-right-radius: 3px;
            border-top-right-radius: 3px;
        }
    }

    &_primary a.button:last-child::after {
        content: none;
    }

    /**
     * Secondary toolbar styles.
     */
    &_secondary {
        background-color: $secondaryToolbarBg;
        position: absolute;
        align-items: center;
        box-sizing: border-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        height: 100%;
        justify-content: flex-start;
        left: 0;
        padding-top: 24px;
        pointer-events: none;
        top: 0;
        transform: translateX(-100%);
        width: $defaultToolbarSize;
        -webkit-transform: translateX(-100%);

        .button {
            font-size: $secToolbarFontSize;
            height: $secToolbarLineHeight;
            line-height: $secToolbarLineHeight;
        }

        > * {
            pointer-events: auto
        }

        .button.toggled:not(.icon-raised-hand):not(.button-active) {
            background: $secondaryToolbarBg;
            cursor: pointer;
            text-decoration: none;

            &.unclickable {
                cursor: default;

                &:hover, &:active, &.selected {
                    background: none;
                    cursor: default;
                }
            }
        }
    }

    /**
     * Styles the toolbar in filmstrip-only mode.
     */
    &_filmstrip-only {
        background-color: $toolbarBackground;
        border-radius: 3px;
        display: inline-block;
        height: auto;
        width: $defaultFilmStripOnlyToolbarSize;

        .button {
            height: 37px;
            line-height: 37px !important;
            width: 37px;
        }

        .button-popover-message {
            width: 100px;
        }

        .toolbar-button-wrapper:first-child .button {
            border-top-left-radius: 3px;
            border-top-right-radius: 3px;
        }
        .toolbar-button-wrapper:last-child .button {
            border-bottom-right-radius: 3px;
            border-bottom-left-radius: 3px;
        }
    }

    /**
     * Toolbar specific round badge.
     */
    .badge-round {
        bottom: 9px;
        position: absolute;
        right: 9px;
    }
}

.filmstrip-only {
    .toolbox,
    .toolbox-toolbars {
        align-items: center;
        display: flex;
    }
}

.subject {
    background: linear-gradient(to bottom, rgba(255,255,255,.85) , rgba(255,255,255,.35));
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
    box-shadow: 0 0 2px #000000, 0 0 10px #000000;
    margin-left: 40%;
    margin-right: 40%;
    padding: 5px;
    position: relative;
    text-align: center;
    width: auto;
    z-index: $zindex3;

    &.subject_slide-in {
        top: 80px;
        @include transition(top .3s ease-in);
    }

    &.subject_slide-out {
        top: 0;
        @include transition(top .3s ease-out);
    }
}

#toolbar_button_profile {
    height: $toolbarAvatarSize + 2*$toolbarAvatarPadding;
}

a.button>#avatar {
    border-radius: 50%;
    padding-bottom: $toolbarAvatarPadding;
    padding-top: $toolbarAvatarPadding;
    width: $toolbarAvatarSize;
}

#feedbackButton {
    margin-top: auto;
}

/**
 * START of slide in animation for extended toolbar.
 */
@include keyframes(slideInX) {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(0%); }
}

.slideInX {
  @include animation('slideInX .5s forwards');
}

@include keyframes(slideOutX) {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-100%); }
}

.slideOutX {
  @include animation('slideOutX .5s forwards');
}

@include keyframes(slideInExtX) {
    0% { transform: translateX(-500%); }
    100% { transform: translateX(0%); }
}

.slideInExtX {
  @include animation('slideInExtX .5s forwards');
}

@include keyframes(slideOutExtX) {
    0% { transform: translateX(0%); }
    100% { transform: translateX(-500%); }
}

.slideOutExtX {
  @include animation('slideOutExtX .5s forwards');
}

/**
 * END of slide out animation for extended toolbar.
 */

/**
 * START of slide in / out animation for main toolbar.
 */
@include keyframes(slideInY) {
    100% { transform: translateY(0%); }
}

.slideInY {
  @include animation('slideInY .5s forwards');
}

@include keyframes(slideOutY) {
    0% { transform: translateY(0%); }
    100% { transform: translateY(-100%); }
}

.slideOutY {
    @include animation('slideOutY .5s forwards');
}
/**
 * END of slide in / out animation for main toolbar.
 */

/**
 * START of slide in animation for extended toolbar panel.
 */
@include keyframes(slideInExt) {
    from { width: 0px; }
    to   { width: $sidebarWidth; } // TO FIX: Make this value a percentage.
}

.slideInExt {
    @include animation("slideInExt .5s forwards");
}

@include keyframes(slideOutExt) {
  from { width: $sidebarWidth; } // TO FIX: Make this value a percentage.
  to   { width: 0px; }
}

.slideOutExt {
  @include animation("slideOutExt .5s forwards");
}

/**
 * START of fade in animation for main toolbar
 */
.fadeIn {
    opacity: 1;

    @include transition(all .3s ease-in);
}

.fadeOut {
    opacity: 0;

    @include transition(all .3s ease-out);
}
